package main

import (
	"fmt"
)

/*
向为nil的chan中send/receive 导致不可恢复的panic,所以判空是必要的
往已经关闭的管道中send数据,导致panic
关闭已经关闭的管道,导致panic
当一个管道关闭的时候,随后就向管道send一个零值

pipeline
排他锁
读写锁

引用类型
指针、slice、map、chan等都是引用类型。

*/
func main() {
	mp := make(map[int]int)
	test(mp)
	fmt.Println(mp)
}

var directons = [][2]int{{0, 1}, {0, -1}, {1, 0}, {-1, 0}}

func test(hmap map[int]int) {
	hmap[1] = 100
}
